home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Hot Mix 17
/
Hot Mix 17.iso
/
HM17_SGI
/
research
/
examples
/
misc
/
sdf
/
ncdf_rdwr.pro
< prev
next >
Wrap
Text File
|
1997-07-08
|
2KB
|
72 lines
;
; Simple example #1
;
; Save a matrix
;
PRO MakeNetCDFData, filename
; Check for a filename. Provide a default if none
; is given.
IF N_ELEMENTS(filename) EQ 0 THEN filename="ncdf_example.cdf"
; Create the NetCDF file
Id = NCDF_CREATE(filename,/CLOBBER)
; Create dimensions
Dim1 = NCDF_DIMDEF(Id,'Width',100)
Dim2 = NCDF_DIMDEF(Id,'Height',200)
; Create a variable to hold the data
VarId = NCDF_VARDEF(Id,'MyData', [Dim1, Dim2], /FLOAT)
; Create some attributes (to tell about our variable)
NCDF_ATTPUT, Id, VarId, "TITLE", "X-Ray of my brain"
NCDF_ATTPUT, Id, VarId, "UNITS", "Furlongs per Fortnight"
; Leave definition mode and enter data write mode
NCDF_CONTROL, Id, /ENDEF
; Create data to store
Data = DIST(100,200)
; Write the data
NCDF_VARPUT, Id, VarId, Data
; Done
NCDF_CLOSE, Id
END
PRO ReadNetCDFData, filename
; Open the file for reading
Id = NCDF_OPEN(filename)
; Read in the Title. Note that we assume that
; the variable will have an attribute named TITLE.
; This may not be the case in general but for
; our example, we assume it will be there
NCDF_ATTGET, Id, 0, "TITLE", Title
; Read the data
NCDF_VARGET, Id, 'MyData', Data
; Now show our data with a title
Print,'Displaying Data'
erase
loadct,0
TVSCL, Data
XYOUTS, !d.x_size/2, !d.y_size - 20, ALIGNMENT=0.5, /DEVICE, $
STRING(title)
NCDF_CLOSE, Id
END
PRO ncdf_rdwr,Filename
Print, 'Writing Data' & MakeNetCDFData,filename
Print, 'Reading Data' & ReadNetCDFData,filename
END